package com.example.basic.web.service.notice;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.basic.web.model.notice.InNotice;
import com.example.basic.web.model.notice.OutNotice;
import com.example.basic.web.response.InNoticeResponse;
import com.example.basic.web.response.OutNoticeResponse;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author suntt
 * @since 2019-10-29
 */
public interface OutNoticeService {

    /**
     * 批量新增
     * @param outNoticeList
     * @return
     */
    Boolean batchAdd(List<OutNotice> outNoticeList);

    /**
     * 保存或者修改  zzl
     * @param outNotice 模型
     * @return
     */
    OutNotice modify(OutNotice outNotice);

    /**
     * 详情  zzl
     * @param outNoticeCode 出库通知单编码
     * @return
     */
    OutNotice detail(String outNoticeCode);

    /**
     * 删除  zzl
     * @param outNoticeCode 出库通知单编码
     * @return
     */
    int delete(String outNoticeCode);

    /**
     * 审核/取消审核  zzl
     * @param outNotice 出库通知单
     * @return
     */
    int auditOrCancel(OutNotice outNotice);

    /**
     * 出库通知单列表
     * @param queryPage 分页
     * @param searchParam 遗体名称，拼音码，五笔码
     * @param sex 性别
     * @param pharmCode 库房编码
     * @param zoneCode 分区编码
     * @param depotCode 库位编码
     * @param beginTime 开始日期
     * @param endTime 结束日期
     * @return
     */
    IPage<OutNoticeResponse> queryList(Page<OutNoticeResponse> queryPage, String searchParam, String sex, String pharmCode, String zoneCode, String depotCode, String beginTime, String endTime);

}